package com.ibeeking.found.content.c.rest.service;

import com.ibeeking.found.content.service.common.query.ArticlePageQuery;
import com.ibeeking.found.content.service.common.query.ArticleQuery;
import com.ibeeking.found.content.service.common.vo.ArticleCount;
import com.ibeeking.found.content.service.common.vo.ArticleVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;


/**
 * IArticleService
 *
 * @Author ibeeking
 * @Date 2022-02-18 14:11
 */
public interface IArticleService {

    /***
     * 查询列表
     */
    List<ArticleVO> list(ArticleQuery articleQuery);

    /***
     * 分页查询
     */
    Page<ArticleVO> pageList(ArticlePageQuery articlePageQuery);

    /***
     * 通过id查询
     */
    ArticleVO view(Long id);

    /**
     * 统计各分组文章数量
     *
     * @param groupIds
     * @return
     */
    List<ArticleCount> countByGroup(List<Long> groupIds);

    /**
     * 统计各作者文章数量
     *
     * @param authorIds
     * @return
     */
    List<ArticleCount> countByAuthor(List<Long> authorIds);
}
